const { resolve } = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')
// 
const MiniCssExtractPlugin = require('mini-css-extract-plugin')

module.exports = {
    entry: './src/js/index.js',
    output: {
        filename: 'js/built.js',
        path: resolve(__dirname, 'build')
    },
    module: {
        rules: [
            // 处理css资源，样式资源会打包到js中，所以不会输出单独的样式文件 
            {
                test: /\.css$/,
                use: [
                    // 从底向上依次执行 
                    // 'style-loader',  // js代码中创建style标签，将样式放入 
                    MiniCssExtractPlugin.loader, // 取代style-loader，作用：提取js中的css成单独文件 
                    'css-loader', // 将css文件整合到js中 

                ]
            },
            // 处理html中的图片资源，如img标签引入的图片 
            {
                test: /\.html$/,
                loader: 'html-loader',
            },
        ]
    },
    plugins: [
        new HtmlWebpackPlugin({
            template: './src/index.html' 
        }),
        new MiniCssExtractPlugin({
            // 对输出的文件重命名 
            filename: 'css/built.css'
        }) 
    ],
    mode: 'development'
}




